package br.ufpi.hu.prescricao.model;

import java.text.SimpleDateFormat;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(name = "laudo_base", schema = "public")
public class LaudoBase extends Laudo {

	@Column(nullable=false)
	private String texto;
	
	public String getProcedimento() {
		return "";
	}
	public String getTecnica() {
		return "";
	}
	public String getProfissionalExecutor() {
		return "";
	}
	public String getCrmProfissionalExecutor() {
		return "";
	}
	public String getEspecialidade() {
		return "";
	}
	
	public String getTipo() {
		return "Laudo";
	}
	
	public String getNomeArquivo() {
		return "Laudo_"+new SimpleDateFormat("ddMMyyyyHHmm").format(this.getData())+".pdf";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((texto == null) ? 0 : texto.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (!(obj instanceof LaudoBase)) {
			return false;
		}
		LaudoBase other = (LaudoBase) obj;
		if (texto == null) {
			if (other.texto != null) {
				return false;
			}
		} else if (!texto.equals(other.texto)) {
			return false;
		}
		return true;
	}

	public String getTexto() {
		return texto;
	}

	public void setTexto(String texto) {
		this.texto = texto;
	}
	
	public String getTextoDataTable() {
		
		if (texto!=null)
		
		{
			String string = texto.replaceAll("<[^>]*>", "").trim();
			return string.length() >= 50 ? string.substring(0,50)+" (...)" : string;
		}
		
		return texto;
		
	}
	
}
